/////////////////////////////////////////////////////////////
//                                                         //
// KconfigSize : Linuxͥ륵ѥ¬ġ //
//   Web󥿡եȷ̥ǡθ           //
//                                                         //
/////////////////////////////////////////////////////////////



============================================================

KconfigWebϡKconfigSizeġ뤬Ϥڷ̤Web󥿡ե
ǻȤ뤿CGIץȤǤ
ΥեǤKconfigWebѤ뤿ɬפʰʲλˤĤ
ޤ

- 
- KconfigWeb
- ̥ǡθ



============================================================

KconfigWebư뤿ˤϰʲɬפǤ

- httpСCGIݡȤƤɬפޤ
- Python
- GDChart饤֥(libgdcˤȡPythongdchart⥸塼



KconfigWeb
============================================================

(1) ġե
-----------------------

KconfigWebեϡ
  kconfigsize/conf/kconfigweb.conf
Ǥ

ϳƹԤˡ
<key>=<value>
ȤƹԤޤ

"#" ǻϤޤԤϥȤȤƲᤵ졢̵뤵ޤ

ʲǽʳkeyˤĤޤ

db_dir=<value>
------------------------------
  KconfigSizeġ뤬Ϥ븡ڷ̥եΤǥ쥯ȥ򵭽
  Ƥ
  㡧
    db_dir=/home/foo/kc_db


(2) ջ
-----------------------

KconfigWeb󶡤CGIץȤΤWeb֥饦饢
ΤϰʲΣĤǤ
  kconfigsize/bin/local/kconfigweb.cgi
  kconfigsize/bin/local/kconfigweb_bu.cgi
  kconfigsize/bin/local/kconfigweb_td.cgi

CGIǥ쥯ȥ꤫餳˥ܥå󥯤ĥäƱѤ
ϡʲդƤ

1) ܥå󥯤̾ϡΥե̾ƱȤƤ
   
2) Ʊǥ쥯ȥ˾嵭ĤCGIץȤФ륷ܥå
   ֤Ƥ

ʲ򼨤ޤ

ɤ
 ln -s ~foo/kconfigsize/bin/local/kconfigweb.cgi \
     /usr/lib/cgi-bin/kconfigweb.cgi
 ln -s ~foo/kconfigsize/bin/local/kconfigweb_td.cgi \
     /usr/lib/cgi-bin/kconfigweb_td.cgi
 ln -s ~foo/kconfigsize/bin/local/kconfigweb_bu.cgi \
     /usr/lib/cgi-bin/kconfigweb_bu.cgi

㰭(1)̾ȥե̾ۤʤ
 ln -s ~foo/kconfigsize/bin/local/kconfigweb.cgi \
     /usr/lib/cgi-bin/kconfigweb_1.cgi
 ln -s ~foo/kconfigsize/bin/local/kconfigweb_td.cgi \
     /usr/lib/cgi-bin/kconfigweb_2.cgi
 ln -s ~foo/kconfigsize/bin/local/kconfigweb_bu.cgi \
     /usr/lib/cgi-bin/kconfigweb_3.cgi

㰭(2)󥯤ۤʤǥ쥯ȥ֤Ƥ
 ln -s ~foo/kconfigsize/bin/local/kconfigweb.cgi \
     /usr/lib/cgi-bin/kconfigweb.cgi
 ln -s ~foo/kconfigsize/bin/local/kconfigweb_td.cgi \
     /usr/lib/cgi-bin/kcw/kconfigweb_td.cgi
 ln -s ~foo/kconfigsize/bin/local/kconfigweb_bu.cgi \
     /usr/lib/cgi-bin/kcw/kconfigweb_bu.cgi



̥ǡθ
============================================================

(1) ȥåץڡ
-----------------------

KconfigWeb κǾ̥ڡϡkconfigweb.cgi ˥ɽ

Υڡˤϡbottom-upפȡtop-downפΣĤΥ󥯤ޤ
bottom-upפΥ󥯤򤿤ɤȡbottom-up ץǼ̤
Ȥ뤿Υڡɽޤ
top-downפΥ󥯤򤿤ɤȡtop-down ץǼ̤
Ȥ뤿Υڡɽޤ
줾Υץΰ㤤ˤĤơܺ٤ configure_jp.txt 򻲾Ȥ



(2) Bottom-up ץǤη
-----------------------

Examinated conditionsפɽˡ»ܤڤΰɽޤ
CategoryΥꥹȥܥå黲ȤconfigܤΥƥ
showץܥ򥯥åȡθھǼ̤ɽ
ޤ

Comparison between two conditionsפǤϡĤθڷ̤Ӥ뤳
ȤǤޤ
Ӥڷ̤sourceסtargetץץ˥塼顢ꥹ
ܥå黲ȤconfigܤΥƥ򤷤ơcompareץܥ
򥯥åƤ

Data trendפǤϡİʾθڴ֤ǥǡɤΤ褦˿ܤ
դǻȤ뤳ȤǤޤ
ꥹȥܥåӤڷ̤򤷡ץ˥塼ǻ
ǡܤ򤷤ơshowץܥ򥯥åƤ

ʲɽܤ䥰դΥȥ˻ѤƤѸˤĤ
򵭤ޤ

--- Base kernel

оconfigܥꥹȤǡ=bפȥޡ줿ܤΤͭCONFIG_*=
yˤˤ.configե뤫ӥɤ줿ͥΤȤǤ
configure_jp.txt ⻲ȤƤ

--- Raw data

¬ꤷͤΤΤؤޤ
ǤХͥ륤᡼Υե륵Ǥ total, 
used, free ¬ͤΤȤǤ

--- Total impact

븡оconfigܤͭCNOFIG_*=yˤˤΡͥ륵
ޤϥ̤ʬ̣ޤ
㤨 CONFIG_A Υ˴ؤ Total impact ȤϡCONFIG_A=y Ȥ
ӥɤͥȥ١ͥΥȤȤˤʤޤ

--- Isolated impact ñȥѥȡ

KconfigSizeġϤ븡оconfigѤ.configե
ꡢθоconfigܤ¸configܤưŪͭˤ
.configեޤ
Τᡢtotal impact ϸоconfigܤ¸configܤͭ
ˤʤäȤˤͿʬޤǤޤ
ΤKconfigSizeġϡδͿʬоconfigñ
ȤǤΥѥȡ¨ isolated impactñȥѥȡˤ򻻽Ф褦
ߤޤ
ñȥѥȤλФϰʲΤ褦˹Ԥޤ

CONFIG_X depdends CONFIG_Y Ȥconfigܤꡢоconfig
Ȥ CONFIG_X ꤵƤȤޤξ硢KconfigSizeġ
ϰ¸ư褷CONFIG_XCONFIG_Y Ȥ =y ȤCONFIG_X
.configեͥmakeޤ
ƱоconfigܥꥹȤǡCONFIG_Y⸡оݤȤƻꤵƤ
Ȥޤξ硢CONFIG_YѤ.configեϡCONFIG_X=n, CON
FIG_Y=y ȤʤäƤޤ
äKconfigSizeġϡCONFIG_XѥͥΥCONFIG_Y
ѥͥΥơκʬCONFIG_XΡisolated impact
ñȥѥȡˡפȤƻФޤ
KconfigSizeġϡǤ¤ñȥѥȤ򻻽Ф褦Ϥޤ
CONFIG_YоݤȤƻꤵƤʤäCONFIG_Xñȥ
ѥȤФǤޤ󡣤ξñȥѥȤη׻̥եˤϡ
CONFIG_X+CONFIG_Y ˤ륤ѥȡפϿޤͤȤϡCONF
IG_Xѥͥȥ١ͥΥʬtotal impact Ǥ


(3) Top-down ץǤη
-----------------------

Bottom-up ץǤη̤򻲾ȤΤȤۤȤƱǤʲ
Τ߰ۤʤޤ
Top-down ץǤϡisolated impactñȥѥȡˤλФԤ
ޤ󡣤Τᡢ븡оconfigܤ̤Ϳ
ƶñˡimpactפɽƤޤ



¾
============================================================

KconfigWebϡMatt MackallBloatwatch򻲹ͤ˺ޤ
BloatwatchˤĤƤϰʲ򻲾ȤƤ

http://selenic.com/repo/bloatwatch


